/**
 * @date 11:34:05 AM
 * IHomeWorkAPPService.java
 * Administrator
 * TODO
 */
package com.qs.education.service;

import com.qs.education.bean.api.ResponseBean;
import com.qs.education.bean.api.ResponseListBean;
import com.qs.education.bean.beans.EducationHomeWorkResponse;
import com.qs.education.bean.beans.EducationHomeWorkStudentResponse;
import com.qs.education.bean.entity.EducationHomeWork;
import com.qs.education.bean.entity.EducationHomeWorkQuestion;
import com.qs.education.bean.entity.EducationHomeWorkStudent;

/**
 * @class IHomeWorkAPPService	
 * @author Warren
 * @description
 * @date Nov 20, 2018 
 */
public interface IHomeWorkAPPService {
	
	/**
	 * @author Warren
	 * @param studentId
	 * @return ResponseListBean<EducationHomeWorkStudent>
	 * @description 根据学生id查询学生的作业列表(作业本)
	 * @date Nov 20, 2018
	 */
	public ResponseListBean<EducationHomeWorkStudent> getListByStudentId(Long studentId);
	
	/**
	 * @author Warren
	 * @param homeworkId
	 * @return ResponseListBean<EducationHomeWorkQuestion>
	 * @description 根据作业id获得作业的所有题目
	 * @date Nov 22, 2018
	 */
	public ResponseListBean<EducationHomeWorkQuestion> getALLQuestionByHomeWorkId(Long homeworkId);
	
	/**
	 * @author Warren
	 * @param hqId 作业问题标识
	 * @param studentId 学生id
	 * @param answerId 问题选项id
	 * @return ResponseBean 
	 * @description
	 * @date Nov 22, 2018
	 */
	public ResponseBean answerHomeWorkQuestion(Long hqId,Long studentId,Long answerId);
	
	/**
	 * @author Warren
	 * @param homeworkId
	 * @param studentId
	 * @param startTime
	 * @param endTime
	 * @return ResponseBean
	 * @description 学生提交作业
	 * @date Nov 22, 2018
	 */
	public ResponseBean studentCommitHomeWork(Long homeworkId,Long studentId,String startTime,String endTime);
	
	//---------------------------------------------------------------------------------------------------------
	
	/**
	 * @Description 教师选择群组发布作业
	 * @author Leon
	 * @date   Nov 22, 2018
	 * @param  
	 * @return ResponseBean
	 */
	public ResponseBean publishHomeWork(String questionIds,String groupIds,String lessonIds,String startTime,String endTime,String teacherId);
	
	/**
	 * @Description 根据教师id查询教师的发布的作业列表
	 * @author Leon
	 * @date   Nov 23, 2018
	 * @param  
	 * @return ResponseListBean<EducationHomeWork>
	 */
	public ResponseListBean<EducationHomeWork> findHomeWorkByTeacherId(String teacherId);
	
	/**
	 * @Description 根据作业id 查看作业概览
	 * @author Leon
	 * @date   Nov 26, 2018
	 * @param  
	 * @return EducationHomeWork
	 */
	public EducationHomeWorkResponse findHomeWorkOverviewById(String id);
	
	/**
	 * @Description 删除作业
	 * @author Leon
	 * @date   Nov 26, 2018
	 * @param  
	 * @return ResponseBean
	 */
	public ResponseBean deleteHomeWorkById(String id);
	
	/**
	 * @Description 获取学生作业概览
	 * @author Leon
	 * @date   Nov 27, 2018
	 * @param  
	 * @return EducationHomeWorkStudentResponse
	 */
	public EducationHomeWorkStudentResponse getStudentHomeWorkOverview(String id);
}
